home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 8 / FM Towns Free Software Collection 8.iso / t_os / artemis / artsrc2 / rsktiff.h < prev    next >
C/C++ Source or Header  |  1994-06-01  |  5KB  |  150 lines

  1. /*
  2.     rsktiff.h
  3. */
  4.  
  5. /*--------------------------------------------------------------------------
  6.     TIFF形式 画像セーブ・ロード関数
  7.     
  8.     putimagefunc, getimagefunc:
  9.         int func(char *buf, int yofs, int ylen)   の形式にすること
  10.  
  11. ロード方法:
  12.     プログラムの最初で
  13.         ginit();
  14.         TIFFinitwork();
  15.     を呼んでおく。(EGB_init は呼ばない)
  16.     他のEGB 関数を用いたいときは、EGB_work というグローバル変数を
  17.     用いること。
  18.     ロードは、
  19.         TIFFinitwork();
  20.         TIFFload ( "a.tif", 0, 0 );
  21.     のように行う。2つの数値はロード位置。
  22.     
  23. セーブ方法:
  24.     ginit ();  TIFFinitwork();  を呼んでおく必要があるのはロードと同じ。
  25.     セーブは、
  26.         TIFFsave ( "a.tif" , 0,0, 319, 239, 1 );
  27.     のように行う。最後の1は、「圧縮あり」の意味。
  28.     最後の数値を0にすると、非圧縮セーブする。
  29.     とちゅうの4つの数値は、セーブする範囲。
  30.     この例では、(0,0)~(319,239)の範囲をセーブしている。
  31. --------------------------------------------------------------------------*/
  32.  
  33. typedef struct {
  34.     int        xlen,ylen;
  35.     bool    compress;
  36.     int        pixelsize;
  37. } TIFFinfo;
  38.  
  39. int        TIFFinitwork();
  40. int        TIFFload(char *fname, int x0, int y0);
  41. void    TIFFload_putimagefunc(int (*func)());
  42. int        TIFFsave(char *fname, int x1, int y1, int x2, int y2, bool compress);
  43. // 返値     0=成功
  44. //        -1=画面モード/ファイル名の間違い
  45. //        -2=メモリ不足
  46. //        -3=ディスク領域不足
  47. //        -4=get関数エラー
  48. void    TIFFsave_getimagefunc(int (*func)());
  49. int        TIFFgetinfo(char *fname, TIFFinfo *info);
  50. // 返値  0=正常終了
  51. //      -1=ファイルが存在しない
  52. //      -2=TIFF形式ではない
  53. //      -3=メモリが足りない
  54.  
  55. extern    char    _egbwork[];
  56. extern    char    *EGB_work;
  57. extern    int        _scrmod[];
  58. extern    int        _nowscrmod;
  59. extern    int        _wrtpage;
  60.  
  61.  
  62.  
  63.  
  64. void    ginit(void);
  65. void    gscreen(int mode);
  66. void    gramscr(int page, int mode, char *buf);
  67. void    gpset(int x, int y, int col, int mode);
  68. void    gline(int x1,int y1,int x2,int y2,int col,int mode);
  69. void    gscrzoom(int xrate, int yrate);
  70. void    gdsparea(int xsize, int ysize);
  71. void    gdsploc(int x,int y);
  72. void    ghline(int x1, int x2, int y, int col, int logop);
  73. void    gvline(int x,  int y1, int y2,int col, int logop);
  74. void    gboxfill(int x1,int y1,int x2,int y2,int col,int logop);
  75. void    grboxfill(int x1,int y1,int xlen,int ylen,int col,int logop);
  76. void    gboxline(int x1,int y1,int x2,int y2,int col,int logop);
  77. void    grboxline(int x1,int y1,int xlen,int ylen,int col,int logop);
  78. void    gblkcpy(int sx,int sy,int xlen,int ylen,int spage,
  79.                 int dx,int dy,int dpage,int op);
  80. void    gputblk(char *buf, int dx,int dy,int xlen,int ylen,int op);
  81. void    gwrtpage(int page);
  82. void    gdsppage(int pri, int dspsw);
  83. int        gpoint(int x,int y);
  84.  
  85. int     extwildcard(char *wildcard, char *namebuf[], int maxnames);
  86.  
  87. void    grp_getblk(int x1, int y1, int xlen, int ylen, char *buf);
  88. void    grp_putblk(char *data, int x1, int y1);
  89. void    grgetblk(char *buf, int x1, int y1, int xlen, int ylen);
  90. void    grputblk(int x1, int y1, int xlen, int ylen, char *data, int op);
  91. #define    grp_putblk    grputblk
  92. #define    grp_getblk    grgetblk
  93. // 昔の grp_putblk, grp_getblk は隠滅する
  94. void    grp_putblk_zoom(int x1, int y1, int xlen, int ylen, char *data,
  95.                         int op, int zoomx, int zoomy);
  96. void    grp_boxfill(int x1, int y1, int xlen, int ylen, int col, int mode);
  97. void    grp_boxline(int x1, int y1, int xlen, int ylen, int col, int mode);
  98. void    grp_cls(void);
  99. void    grp_copy(int sx1, int sy1, int sxlen, int sylen, int sp,
  100.                  int dx1, int dy1, int dp, int mode );
  101. void    grp_dispPos(int x, int y);
  102. int        grp_getMode(void);
  103. void    grp_init(void);
  104. void    grp_line(int x1, int y1, int x2, int y2, int col, int mode);
  105. void    grp_setplt(int plt, int rgb /* bit23-16:赤 bit15-8:緑 bit7-0:青 */);
  106. int        grp_getplt(int plt); /* ret: bit23-16:赤 bit15-8:緑 bit7-0:青 */
  107. int        grp_point(int x, int y);
  108. void    grp_pset(int x, int y, int col, int mode);
  109. void    grp_mode ( int mode );
  110. void    grp_mode2 ( int mode );
  111. void    grp_scrZoom( int xrate, int yrate );
  112. void    grp_putstr(int x, int y, char *str, int col );
  113. int        grp_getWrtpage(void);
  114. void    grp_setWrtpage(int page);
  115.  
  116. void    wait_vsync();
  117.  
  118. // sprlib.c
  119.  
  120. void sp_init(int dispnum), sp_end();
  121. void sp_16colspr(int n);
  122. void sp_def(int patn, char *pattern);
  123. void sp_pltblk(int pltblkn, char *pltblk);
  124. void sp_put(int index, int x, int y, int patn, int pltblk);
  125. void sp_erase(int index, int num);
  126.  
  127. void    key_init(void);
  128. char    key_get(void);
  129. int        key_chk(void);
  130. char    key_read(void);
  131. void    key_clrbuf(void);
  132.  
  133. void    text_init(void);
  134. void    text_end(void);
  135.  
  136. void    minit(),mend();
  137. void    rdmos(MSDAT *msdat);
  138. void    mous_setpos(MSDAT *msdat, int x,int y);
  139. void    mous_typeRom(int type);
  140. void    mous_type(int mode, char *pattern);
  141.  
  142. void            poked(int sel, int ofs, unsigned int dat);
  143. unsigned int    peekd(int sel, int ofs);
  144.  
  145.  
  146. int        getftime(char *fname, TIME *timebuf);    // 成功すれば 0
  147. void    getnowtime(TIME *timebuf);
  148.  
  149. /* end of rsktiff.h */
  150.